//
//  StackViewViewController.swift
//  DemoProject
//
//  Created by hao on 2018/7/18.
//  Copyright © 2018年 hao. All rights reserved.
//
/// 直接使用Xib或SB设置StackView

import UIKit

class StackViewViewController: BaseTableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        setupData()
        
        var subviewArr = [UIView]()
        for _ in 0 ..< 3 {
            let subview = UIView()
            subview.backgroundColor = kRandomColor()
            subviewArr.append(subview)
        }
        
        let stackView = UIStackView(arrangedSubviews: subviewArr)
        stackView.backgroundColor = UIColor.purple
        self.tableHeadView.addSubview(stackView)
//        stackView.snp.makeConstraints { (make) in
//            make.center.width.equalTo(self.tableHeadView)
//            make.height.equalTo(64)
//        }
        let width = self.tableHeadView.width*0.5
        stackView.frame = CGRect(x: 0, y: 64, width: width, height: width)
        stackView.center = CGPoint(x: width, y: width)
        stackView.spacing = 15
        stackView.axis = .vertical
        stackView.alignment = .fill
        stackView.distribution = .fillEqually
    }
    
    private func setupData() {
        let titles = ["axis",
                      "alignment",
                      "distribution"]
        
        let descArr = ["""
                        设置UIStackView布局的方向：水平方向或垂直方向
                        UILayoutConstraintAxisHorizontal = 0,//水平
                        UILayoutConstraintAxisVertical = 1//垂直
                       """,
                       """
                        设置非轴方向子视图的对齐方式
                        //子视图填充StackView
                        UIStackViewAlignmentFill,
                        //子视图左对齐（axis为垂直方向而言）
                        UIStackViewAlignmentLeading,
                        //子视图顶部对齐（axis为水平方向而言）
                        UIStackViewAlignmentTop = UIStackViewAlignmentLeading,
                        // 按照第一个子视图的文字的第一行对齐，同时保证高度最大的子视图底部对齐（只在axis为水平方向有效）
                        UIStackViewAlignmentFirstBaseline,
                        //子视图居中对齐
                        UIStackViewAlignmentCenter,
                        //子视图右对齐(axis为垂直方向而言）
                        UIStackViewAlignmentTrailing,
                        //子视图底部对齐（axis为水平方向而言）
                        UIStackViewAlignmentBottom = UIStackViewAlignmentTrailing,
                        // 按照最后一个子视图的文字的最后一行对齐，同时保证高度最大的子视图顶部对齐（只在axis为水平方向有效）
                        UIStackViewAlignmentLastBaseline,
                       """,
                       """
                        设置轴方向上子视图的分布比例（如果axis是水平方向，也即设置子视图的宽度，如果axis是垂直方向，则是设置子视图的高度）
                        UIStackViewDistributionFill = 0,
                        UIStackViewDistributionFillEqually,
                        UIStackViewDistributionFillProportionally,
                        UIStackViewDistributionEqualSpacing,
                        UIStackViewDistributionEqualCentering,
                       """]
        
        addTitles(titles, footDescs: descArr)
    }

}
